StupidBeauty
Read times:913Posted at:Fri Dec 13 05:00:28 2013
- no title specified

Jwt3.3.0文档翻译:类WPopupMenu,Class WPopupMenu

用弹出式窗口来呈现的一个菜单。

这个菜单对象,实现的是一个典型的上下文菜单,并且支持子菜单。它继承了 WMenu ,同时也继承了其中的大部分接口。

在最初被创建时,这个菜单是处于隐藏状态的,直到妳调用 popup() exec() 才会显示出来。然后,这个菜单会保持可见状态,直到用户选择了某个菜单项,或者取消掉这个菜单(按Escape键或者点击菜单之外的地方)。

在它的实现中,假设JavaScript 是可用的,这样才能将菜单放置到鼠标当前的位置,并且针对当前选中的菜单项提供视觉反馈。

对于 WDialog ,可通过两种方式来使用菜单。最简单的方式就是使用众多的同步 exec() 方法中的一个,这样会启动一个重入(reentrant)的事件循环,并且等待,直到用户取消掉这个菜单(按Escape键或者点击菜单之外的地方),或者选择一个菜单项。

或者,妳可以使用众多 popup() 方法中的一个来显示出菜单,并且连接到 triggered 信号,在相应的信号槽中读取结果( getResult() )。

妳可以采用多种方式来对某个菜单项的选择事件作出响应:

使用示例:

{

@code

// 创建一个拥有若干菜单项的菜单

WPopupMenu popup = new WPopupMenu();

popup.addItem("icons/item1.gif", "Item 1");

popup.addItem("Item 2").setCheckable(true);

popup.addItem("Item 3");

popup.addSeparator();

popup.addItem("Item 4");

popup.addSeparator();

popup.addItem("Item 5");

popup.addItem("Item 6");

popup.addSeparator();

WPopupMenu subMenu = new WPopupMenu();

subMenu.addItem("Sub Item 1");

subMenu.addItem("Sub Item 2");

popup.addMenu("Item 7", subMenu);

WMenuItem item = popup.exec(event);

if (item != null) {

// ... 在这里做相关的操作。

}

}

WPopupMenu 的截图:

WPopupMenu示例(默认主题)

WPopupMenu示例(光鲜主题(polished))

参考:

WMenuItem

古画

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands